Website building systems are used by both novices and professionals to create interactive websites. Existing website building systems are based on a visual editing model and most website building system providers typically provide multiple templates, with a template possibly including a complete sample website, a website section, a single page or a section of a page.
A website building system may be a standalone system, or may be embedded inside a larger editing system. It may also be on-line (i.e. applications are edited and stored on a server), off-line or partially on-line (with websites being edited locally but uploaded to a central server for publishing).
The website building system may handle entities such as applications (such as a visually designed application (e.g. a website) consisting of pages, containers and components), pages (each of which are separately displayed and contain components) and components. The components may be arranged in a hierarchy of containers (single-page and multi-page) inside the page containing atomic components. A multi-page container may display multiple mini-pages, each of which containing components.
Pages may also include list applications (such as discussed in US Patent Publication No. US 2014/0282218 entitled “Website Building System Integrating Data Lists with Dynamic Customization and Adaptation” published 18 Sep. 2014 and assigned to the common assignee of the present invention) and third party applications. Components may include simple (atomic) components such as text objects, buttons, frames, decorations, images and video players, composite/container components (such as galleries and sliders) as well more complex components such as third party applications noted above or entire e-shops.
Pages may use templates, general page templates or component templates. Specific cases for templates include the use of an application master page containing components replicated in all other regular pages, and the use of an application header/footer (which repeats on all pages). Templates may be used for the complete page or for page sections. The system may provide inheritance between templates, pages or components, possibly including multi-level inheritance, multiple inheritance and diamond inheritance (i.e. A inherits from B and C and both B and C inherit from D). The arrangement of components inside a page is called a layout.
The website building system provider may provide templates ranging from the very generic (e.g. mobile site, e-store) through the more specific (e.g. law office, restaurant, florist) to the highly specific ones (e.g. a commercial real-estate law office or a Spanish tapas restaurant). Such templates are typically stored in a repository accessible to users of the website building system and are typically classified according to business type, sub-type or industry. Templates may also be created (and classified) according to style, color range or other parameters and not just according to business type.
Users have the option to start with an empty site (essentially a “blank page” template) but may typically start with an actual template. Thus a typical first experience for a user with such a website building system would be choosing a template (e.g. according to style or industry type/sub-type). The user then edits it via the visual editor, including editing of content, logic, layout and attributes. Such editing would include (in particular) adapting the template and its elements to the details of the user's business. Once he has finished editing, the user publishes the modified site.
It will be appreciated, that various pieces of information (such as the business name or a description of the management team) are included in multiple locations in the template's pages. Thus, the user may have to change the business name (for example) in multiple places throughout the template.
Furthermore, some template elements (e.g. a generic product page) may appear multiple times, with each appearance displaying the details of a different instance of an underlying entity (e.g. different products offered on the site). Such multiple instances may be manually specified (e.g. the details of different persons in the company's management team) or dynamically derived from an external database (e.g. product details from the “products on sale” database).
Thus the website building system may allow the template designer to specify fields (also known as “placeholders”) for the insertion of values inside the templates, such as {CompanyName}, {ProductName}, {ProductPrice} etc. The user may then specify the values for the fields defined in the template selected for the website.
The website building system may also allow the user to enter simple or complex values (e.g. text and images), as well as additional (non-field) information such as the selection of included pages or website areas, colors, style information, links, formatting options, website display options, decoration elements (such as borders and backgrounds) etc.
The website building system also may also allow the user to enter some of this additional information before selecting a template, and use this information to help in selecting a template (i.e. by narrowing the set of proposed templates). For example, the user may select a certain generic color scheme (e.g. pastel colors) or style (e.g. business/formal), and the website building system may then use this selection to narrow the set of proposed templates.
Furthermore, the website building system may display a series of views or questionnaires to allow the user to enter values or selections (for both the defined fields and the additional information above). It may then create a connection (or binding) between a multiple-instance element of the template (as described above) and an internal or external database which provides the data instances used to generate the displayed instances.
Once a template has been selected and its fields and additional information have been specified (e.g. through the questionnaires or through binding to data sources), existing website building systems may generate the website containing the combined information. The user may then publish the site (through the website building system or otherwise). Some systems may further allow the user to edit and customize the generated site. Such editing may include re-running (some or all) of the sequence of questionnaires used to enter values or select options for the site. The user may enter modified values for some of the values or options, and the site would be regenerated according to the modified values. The editing may also include performing visual editing of the generated site. Such editing may be limited, or allow the full gamut of editing operations to be performed on the site. The editing may further include modifying specific attributes of the generated site (e.g. the background or border type of a given component).
Other website building systems of the prior art as described herein above, have been described in the following patents: U.S. Pat. Nos. 7,668,913, 7,779,352, 6,219,680, 7,984,374 and 7,039,863.